home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / gcc263-src.lha / gcc-2.6.3 / config / arm / riscix1-1.h < prev    next >
C/C++ Source or Header  |  1993-10-03  |  3KB  |  93 lines

  1. /* Definitions of target machine for GNU compiler.  ARM RISCiX 1.1x version.
  2.    Copyright (C) 1993 Free Software Foundation, Inc.
  3.    Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original
  4.           work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
  5.              and Martin Simmons (@harleqn.co.uk).
  6.  
  7. This file is part of GNU CC.
  8.  
  9. GNU CC is free software; you can redistribute it and/or modify
  10. it under the terms of the GNU General Public License as published by
  11. the Free Software Foundation; either version 2, or (at your option)
  12. any later version.
  13.  
  14. GNU CC is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. GNU General Public License for more details.
  18.  
  19. You should have received a copy of the GNU General Public License
  20. along with GNU CC; see the file COPYING.  If not, write to
  21. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  22.  
  23. /* RISCix 1.1x is basically the same as 1.2x except that it doesn't have
  24.    symrename or atexit. */
  25.  
  26. /* Translation to find startup files.  On RISCiX boxes, gcrt0.o is in
  27.    /usr/lib.  */
  28. #define STARTFILE_SPEC  \
  29.   "%{pg:/usr/lib/gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
  30.  
  31. #ifndef CPP_PREDEFINES
  32. #define CPP_PREDEFINES  "-Darm -Driscix -Dunix -Asystem(unix) -Acpu(arm) -Amachine(arm)"
  33. #endif
  34.  
  35. #ifndef CPP_SPEC
  36. #define CPP_SPEC "%{m6:-D__arm6__} %{!ansi: -D_BSD_C}"
  37. #endif
  38.  
  39. /* Riscix 1.1 doesn't have X/OPEN support, so only accept -mbsd (but ignore
  40.    it).  
  41.    By not having -mxopen and -mno-symrename, we get warning messages,
  42.    but everything still compiles.  */
  43. /* None of these is actually used in cc1, so they modify bit 31 */
  44. #define ARM_EXTRA_TARGET_SWITCHES \
  45. {"bsd", 0x80000000}, 
  46.  
  47.     
  48.  
  49. /* Run-time Target Specification.  */
  50. #define TARGET_VERSION  \
  51.   fputs (" (ARM/RISCiX)", stderr);
  52.  
  53. /* This is used in ASM_FILE_START */
  54. #define ARM_OS_NAME "RISCiX"
  55.  
  56. #ifdef riscos
  57. #define TARGET_WHEN_DEBUGGING  3
  58. #else
  59. #define TARGET_WHEN_DEBUGGING  1
  60. #endif
  61.  
  62. /* 'char' is signed by default on RISCiX, unsigned on RISCOS.  */
  63. #ifdef riscos
  64. #define DEFAULT_SIGNED_CHAR  0
  65. #else
  66. #define DEFAULT_SIGNED_CHAR  1
  67. #endif
  68.  
  69. /* Define this if the target system supports the function atexit form the
  70.    ANSI C standard.  If this is not defined, and INIT_SECTION_ASM_OP is not
  71.    defined, a default exit function will be provided to support C++.  
  72.    The man page only describes on_exit, but atexit is also there.  
  73.    This seems to be missing in early versions. */
  74. /*#define HAVE_ATEXIT 1 */
  75. /* Some systems use __main in a way incompatible with its use in gcc, in these
  76.    cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to
  77.    give the same symbol without quotes for an alternative entry point.  You
  78.    must define both, or niether. */
  79. #ifndef NAME__MAIN
  80. #define NAME__MAIN "__gccmain"
  81. #define SYMBOL__MAIN __gccmain
  82. #endif
  83.  
  84. #include "arm/arm.h"
  85.  
  86. /* The native RISCiX assembler does not support stabs of any kind; because
  87.    the native assembler is not used by the compiler, Acorn didn't feel it was
  88.    necessary to put them in!  */
  89.  
  90. #ifdef DBX_DEBUGGING_INFO
  91. #undef DBX_DEBUGGING_INFO
  92. #endif
  93.